﻿<%@ Page Title="" Language="C#" MasterPageFile="~/master_form.master" AutoEventWireup="true" CodeFile="phan_cong_gday.aspx.cs" Inherits="App_Form_DaoTao_phan_cong_gday" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <script type="text/javascript" src="../js/plugin/CellEditing.js"></script>
    <script type="text/javascript" src="../../js/plugin/CheckColumn.js"></script>

    <link rel="stylesheet" type="text/css" href="../../shared/css/CheckHeader.css" />
    <script type="text/javascript">
        Ext.Loader.setConfig({
            enabled: true
        });
        Ext.Loader.setPath('Ext.ux', '../ux');

        Ext.require(['*']);

        Ext.require([
    'Ext.selection.CellModel',
    'Ext.grid.*',
    'Ext.data.*',
    'Ext.util.*',
    'Ext.state.*',
    'Ext.form.*',
    'Ext.grid.Panel',
        'Ext.layout.container.Column',
        'Ext.ux.CheckColumn'
        ]);


        Ext.onReady(function () {

            Ext.QuickTips.init();

            var bd = Ext.getBody();

            var gridForm = Ext.create('Ext.form.Panel', {
                id: 'company-form',
                frame: true,
                bodyPadding: 5,
                width: 1250,
                layout: {
                    type: 'table',
                    columns: 3
                },
                fieldDefaults: {
                    labelAlign: 'left',
                    msgTarget: 'side'
                },

                items: [
                    {
                        columnWidth: '60%',
                        margin: '0 0 0 10',
                        xtype: 'fieldset',
                        title: 'Thông tin tìm kiếm',
                        width: 500,
                        layout: 'anchor',
                        defaults: {
                            labelWidth: 100
                        },
                        defaultType: 'textfield',
                        items: [
                             {
                                 xtype: 'fieldcontainer',
                                 combineErrors: false,
                                 layout: {
                                     type: 'hbox',
                                     defaultMargins: { top: 0, right: 5, bottom: 0, left: 0 }
                                 },
                                 defaults: {
                                     hideLabel: true
                                 },
                                 items: [
                                     { xtype: 'displayfield', value: 'Phòng ban', width: 60 },
                                    {
                                        width: 150, xtype: 'combo', triggerAction: 'all',
                                        emptyText: 'Chọn phòng ban', forceSelection: true,
                                        editable: false, id: 'phong_ban',
                                        name: 'phong_ban', displayField: 'Ten', valueField: 'id_phong',
                                        store: null,
                                        listeners: {
                                            select: function (combo, record, index) {
                                                if (record.length > 0) {
                                                    var id_nganh = record[0].get('id_phong');
                                                    //Goi service
                                                    wtkb.Fs_PHAN_CONG_NS_LKE(id_nganh, ns_phong_P_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                                }
                                            }
                                        }
                                    },
                                    {
                                        name: 'add',
                                        xtype: 'button',
                                        width: 80,
                                        icon: '../../shared/icons/fam/add.gif',
                                        text: 'Thêm mới',
                                        handler: function () {
                                            var b_nganh = Ext.getCmp("phong_ban").value, b_nam = Ext.getCmp("nam_hoc").value, b_hk = Ext.getCmp("hoc_ky").value;
                                            if (b_nam == "") return alert("Chưa chọn năm học");
                                            if (b_hk == "") return alert("Chưa chọn học kỳ");

                                            //Danh sách nhân sự
                                            var b_tinhdiem = Ext.getCmp('giangday');
                                            var a_gtriGrid = new Array();
                                            var data = b_tinhdiem.getSelectionModel().getSelection();
                                            if (data.length == 0) return alert("chưa chọn giảng viên");
                                            var id_ns = data[0].data.id_ns;
                                            var id_lop = "";
                                            var b_ds = Ext.getCmp('lophoc').getSelectionModel().getSelection();
                                            if (b_ds.length == 0) return alert("Chưa chọn lớp học");
                                            id_lop = b_ds[0].data.id_lop;
                                            var a_mon = [], a_tiet = []; a_hso = [], a_loai = [];
                                            var b_d = Ext.getCmp('mon_dky').getSelectionModel().getSelection();
                                            if (b_d.length == 0) return alert("Chưa chọn môn");
                                            for (var i = 0; i < b_d.length; i++) {
                                                a_mon[i] = b_d[i].data.Id_mon;
                                                a_tiet[i] = (b_d[i].data.so_tiet == "" ? "0" : b_d[i].data.so_tiet);
                                                a_hso[i] = b_d[i].data.hso;
                                                a_loai[i] = (b_d[i].data.loai == true ? "CN" : "PH");
                                            }

                                            wtkb.Fs_PC_giang_NH(b_nam, b_hk, b_nganh, id_ns, id_lop, a_mon, a_tiet, a_hso, a_loai, phancong_P_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                        }
                                    },
                                    {
                                        name: 'xoabtn',
                                        xtype: 'button',
                                        width: 80,
                                        icon: '../../shared/icons/fam/delete.gif',
                                        text: 'Xóa',
                                        handler: function () {
                                            var ques = confirm("bạn có chắc chắn xóa không ?"); if (!ques) return "";
                                            var b_d = Ext.getCmp('ds_gv').getSelectionModel().getSelection();
                                            if (b_d.length == 0) return alert("Chưa chọn xóa");
                                            var id_pc = b_d[0].data.id_pc;
                                            wtkb.Fs_PC_DAY_XOA(id_pc, phancong_P_XOA_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                        }
                                    }
                                 ]
                             },
                             {
                                 xtype: 'fieldcontainer',
                                 combineErrors: false,
                                 layout: {
                                     type: 'hbox',
                                     defaultMargins: { top: 0, right: 5, bottom: 0, left: 0 }
                                 },
                                 defaults: {
                                     hideLabel: true
                                 },
                                 items: [
                                     { xtype: 'displayfield', value: 'Năm học', width: 60 },
                                 {
                                     width: 150,
                                     xtype: 'combo', emptyText: 'Chọn năm học',
                                     triggerAction: 'all',
                                     forceSelection: true,
                                     editable: false,
                                     id: 'nam_hoc',
                                     name: 'nam_hoc',
                                     displayField: 'ten',
                                     valueField: 'id',
                                     queryMode: 'local',
                                     store: null,
                                     listeners: {
                                         select: function (combo, record, index) {
                                             if (record.length > 0) {
                                                 var id_namhoc = record[0].get('id'), b_hk = Ext.getCmp("hoc_ky").value,
                                                   a_lop = Ext.getCmp('lophoc').getSelectionModel().getSelection();
                                                 var b_lop = "";
                                                 b_lop = (a_lop.length == 0 ? "" : a_lop[0].data.id_lop);
                                                 wtkb.Fs_DS_PC_DAY(id_namhoc, b_hk, b_lop, phacong_P_LKE_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                             }
                                         }
                                     }
                                 },
                                { xtype: 'displayfield', value: 'Học kỳ', width: 60 },
                                {
                                    width: 110, xtype: 'combo',
                                    emptyText: 'Chọn học kỳ',
                                    triggerAction: 'all',
                                    forceSelection: true,
                                    editable: false,
                                    id: 'hoc_ky',
                                    name: 'hoc_ky',
                                    displayField: 'ten',
                                    valueField: 'id',
                                    queryMode: 'local',
                                    store: null,
                                    listeners: {
                                        select: function (combo, record, index) {
                                            if (record.length > 0) {
                                                var b_hk = record[0].get('id'), id_namhoc = Ext.getCmp("nam_hoc").value;
                                                a_lop = Ext.getCmp('lophoc').getSelectionModel().getSelection();
                                                var b_lop = "";
                                                b_lop = (a_lop.length == 0 ? "" : a_lop[0].data.id_lop);
                                                wtkb.Fs_DS_PC_DAY(id_namhoc, b_hk, b_lop, phacong_P_LKE_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                            }
                                        }
                                    }
                                }]
                             }
                        ]
                    },
                     {
                         columnWidth: '40%',
                         margin: '0 0 0 10',
                         xtype: 'fieldset',
                         title: 'Thông tin lớp',
                         width: 270,
                         rowspan: 2,
                         columnWidth: 1,
                         layout: 'anchor',
                         defaults: {
                             labelWidth: 60
                         },
                         defaultType: 'textfield',
                         items: [
                             {
                                 width: 250, xtype: 'combo', triggerAction: 'all', fieldLabel: 'Hệ đào tạo',
                                 emptyText: 'Chọn hệ đào tạo', forceSelection: true,
                                 editable: false, id: 'he_dt',
                                 name: 'he_dt', displayField: 'Ten', valueField: 'ID',
                                 store: null,
                                 listeners: {
                                     select: function (combo, record, index) {
                                         if (record.length > 0) {
                                             var id_nganh = record[0].get('ID');
                                             //Goi service
                                             //wtkb.Fs_LOP_KHOA(id_nganh, lophoc_nganh_P_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                             wtkb.Fjson_Khoa_Lke(id_nganh, khoa_P_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                         }
                                     }
                                 }
                             },
                             {
                                 width: 250, xtype: 'combo', triggerAction: 'all', fieldLabel: 'Khóa ĐT',
                                 emptyText: 'Chọn khóa', forceSelection: true,
                                 editable: false, id: 'khoa_dt',
                                 name: 'khoa_dt', displayField: 'Ten', valueField: 'ID',
                                 store: null,
                                 listeners: {
                                     select: function (combo, record, index) {
                                         if (record.length > 0) {
                                             var id_nganh = record[0].get('ID');
                                             //Goi service
                                             wtkb.Fs_LOP_KHOA(id_nganh, lophoc_nganh_P_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                         }
                                     }
                                 }
                             },
                              {
                                  xtype: 'grid',
                                  id: 'lophoc',
                                  height: 270,
                                  width: 250,
                                  stateful: true,
                                  Scroll: true,
                                  columnLines: true,
                                  title: 'Danh sách lớp học',
                                  columns: [
                                      { id: 'lopid', text: 'id_lop', width: 80, flex: 1, hidden: true, sortable: true, dataIndex: 'id_lop' },
                                      { id: 'tenlop', text: 'Tên lớp', width: 100, flex: 1, sortable: true, dataIndex: 'ten_lop' }
                                  ],
                                  listeners: {
                                      selectionchange: function (model, records) {
                                          if (records[0]) {
                                              var b_lop = records[0].get("id_lop");
                                              var b_hk = Ext.getCmp("hoc_ky").value, id_namhoc = Ext.getCmp("nam_hoc").value;
                                             
                                              wtkb.Fs_DS_PC_DAY(id_namhoc, b_hk, b_lop, phacong_P_LKE_KQ, P_LOI_CSDL, P_LOI_TGIAN);
                                          }
                                      }
                                  }
                              }
                         ]
                     },
                    {
                        columnWidth: '40%',
                        margin: '0 0 0 10',
                        xtype: 'fieldset',
                        title: 'Thông tin môn',
                        width: 300,
                        rowspan: 2,
                        columnWidth: 1,
                        layout: 'anchor',
                        defaults: {
                            labelWidth: 60
                        },
                        defaultType: 'textfield',
                        items: [
                             {
                                 xtype: 'grid',
                                 id: 'mon_dky',
                                 height: 300,
                                 width: 280,
                                 stateful: true,
                                 columnLines: true,
                                 Scroll: true,
                                 selModel: Ext.create('Ext.selection.CheckboxModel'),
                                 plugins: Ext.create('Ext.grid.plugin.CellEditing', {
                                     clicksToEdit: 1
                                 }),
                                 title: 'Danh sách môn học',
                                 columns: [
                                     { id: 'mon_id', text: 'Mã SV', width: 80, flex: 1, hidden: true, sortable: true, dataIndex: 'Id_mon' },
                                     { id: 'ten_mon', text: 'Tên môn', width: 100, flex: 1, sortable: true, dataIndex: 'TenMon' },
                                     {
                                         text: 'Số tiết', width: 50, dataIndex: 'so_tiet', editor: {
                                             xtype: 'numberfield',
                                             decimalSeparator: '.',
                                             hideTrigger: true,
                                             allowBlank: false
                                         }
                                     },
                                     {
                                         text: 'H.Số', width: 40, dataIndex: 'hso', editor: {
                                             xtype: 'numberfield',
                                             decimalSeparator: '.',
                                             hideTrigger: true,
                                             value: 1,
                                             allowBlank: false
                                         }
                                     },
                                      {
                                          xtype: 'checkcolumn',
                                          header: 'Loại',
                                          dataIndex: 'loai',
                                          width: 30
                                      }
                                 ]
                             }
                        ]
                    },

                    {
                        xtype: 'gridpanel',
                        margin: '5 0 0 10',
                        id: 'giangday',
                        height: 230,
                        stateful: true,
                        Scroll: true,
                        columnLines: true,
                        title: 'Danh sách giảng viên',
                        columns: [
                            { id: 'id_ns', flex: 1, hidden: true, dataIndex: 'id_pc' },
                            { id: 'hovaten', text: 'Họ và tên', width: 150, sortable: true, dataIndex: 'hoten' },
                            { id: 'ngaysinh', text: 'Ngày sinh', width: 100, sortable: true, dataIndex: 'ngay_sinh' },
                            { id: 'noisinh', text: 'Nơi sinh', flex: 1, width: 150, sortable: true, dataIndex: 'noi_sinh' }
                        ]
                    },
                {
                    columnWidth: '100%',
                    margin: '0 0 0 10',
                    xtype: 'fieldset',
                    title: 'Thông tin môn',
                    width: 1100,
                    colspan: 3,
                    columnWidth: 1,
                    layout: 'anchor',
                    defaults: {
                        labelWidth: 60
                    },
                    defaultType: 'textfield',
                    items: [
                        {
                            xtype: 'gridpanel',
                            margin: '5 0 0 10',
                            id: 'ds_gv',
                            height: 200,
                            stateful: true,
                            Scroll: true,
                            columnLines: true,
                            title: 'Danh sách giảng viên',
                            columns: [
                                { id: 'id_pc', flex: 1, hidden: true, dataIndex: 'id_pc' },
                                { id: 'lopw', flex: 1, hidden: true, dataIndex: 'id_ns' },
                                { id: 'hoten', text: 'Họ và tên', width: 150, flex: 1, sortable: true, dataIndex: 'hoten' },
                                { id: 'ngay_sinh', text: 'Ngày sinh', width: 80, flex: 1, sortable: true, dataIndex: 'ngay_sinh' },
                                { id: 'noi_sinh', text: 'Nơi sinh', width: 150, flex: 1, sortable: true, dataIndex: 'noi_sinh' },
                                { id: 'lopday', text: 'Lớp', width: 150, sortable: true, dataIndex: 'lop' },
                                { id: 'monhc', text: 'Môn học', width: 150, sortable: true, dataIndex: 'mon_hoc' },
                                { id: 'hbb', text: 'Số tiết', width: 80, flex: 1, sortable: true, dataIndex: 'so_tiet' },
                                { id: 'hso', text: 'H.Số', width: 80, flex: 1, sortable: true, dataIndex: 'hso' }
                            ]
                        }
                    ]
                }],
                renderTo: bd
            });
            wtkb.Fs_xep_mon_ttchung(P_LOAD_TTCHUNG, P_LOI_CSDL, P_LOI_TGIAN);
        });

    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <script type="text/javascript">
        function P_LOAD_TTCHUNG(b_kq) {
            //            debugger;
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            else {
                var a_kq = b_kq.split('$');
                //var b_chuoi2 = CH_JSON(a_kq[0]);
                //var a_data2 = Ext.create('Ext.data.Store', {
                //    fields: ['Id_Nganh', 'TenNganh'],
                //    data: b_chuoi2
                //});

                //Ext.getCmp("nganhhoc").bindStore(a_data2);

                //Học kỳ
                var b_chuoi2 = new Array();
                b_chuoi2[0] = { ten: 'Học kỳ I', id: 'HKI' };
                b_chuoi2[1] = { ten: 'Học kỳ II', id: 'HKII' };

                var a_data = Ext.create('Ext.data.Store', {
                    fields: ['ten', 'id'],
                    data: b_chuoi2
                });
                var b_hk = Ext.getCmp("hoc_ky");
                b_hk.bindStore(a_data);

                var b_chuoi3 = CH_JSON(a_kq[1]);
                var a_data3 = Ext.create('Ext.data.Store', {
                    fields: ['ten', 'id'],
                    data: b_chuoi3
                });
                var b_hk = Ext.getCmp("nam_hoc");
                b_hk.bindStore(a_data3);

                var b_chuoi4 = CH_JSON(a_kq[2]);
                var a_data4 = Ext.create('Ext.data.Store', {
                    fields: ['id_phong', 'Ten'],
                    data: b_chuoi4
                });
                Ext.getCmp("phong_ban").bindStore(a_data4);
                //Khóa

                //var b_chuoi5 = CH_JSON(a_kq[7]);
                //var a_data6= Ext.create('Ext.data.Store', {
                //    fields: ['ID', 'Ten'],
                //    data: b_chuoi5
                //});
                //Ext.getCmp("khoa_dt").bindStore(a_data6);


                var b_chuoi5 = CH_JSON(a_kq[8]);
                var a_data6 = Ext.create('Ext.data.Store', {
                    fields: ['ID', 'Ten'],
                    data: b_chuoi5
                });

                var ds = Ext.getCmp('he_dt');
                ds.bindStore(a_data6);
            }

        }
        function phancong_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            alert("Thêm thành công");
            phacong_P_LKE_KQ(b_kq);
        }
        function ns_phong_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            else {
                if (b_chuoi == "") return alert("không có số liệu");
                var b_chuoi = CH_JSON(b_kq);

                var a_data = Ext.create('Ext.data.Store', {
                    fields: ['id_pc', 'id_ns', 'hoten', 'ngay_sinh', 'noi_sinh'],
                    data: b_chuoi
                });
                Ext.getCmp("giangday").bindStore(a_data);
            }
        }
        function monhoc_nganh_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            var a_data = b_kq.split('$');
            var b_chuoi = CH_JSON(a_data[0]);
            var a_data = Ext.create('Ext.data.Store', {
                fields: ['Id_mon', 'TenMon', 'so_tiet', 'hso'],
                data: b_chuoi
            });
            var c = Ext.getCmp('mon_dky');
            c.bindStore(a_data);
        }

        function lophoc_nganh_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            var b_chuoi = CH_JSON(b_kq);
            var a_data = Ext.create('Ext.data.Store', {
                fields: ['id_lop', 'ten_lop'],
                data: b_chuoi
            });
            Ext.getCmp('lophoc').bindStore(a_data);
        }
        function nhaodiemP_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
        }
        function xep_mn_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            var b_chuoi = CH_JSON(b_kq);
            var a_data = Ext.create('Ext.data.Store', {
                fields: ['Id_mon', 'TenMon', "Sotiet"],
                data: b_chuoi
            });
            Ext.getCmp('mon_dky').bindStore(a_data);
        }
        //Lietj kê
        function phacong_P_LKE_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }

            var a_kq = b_kq.split('$');


            var b_chuoi = CH_JSON(a_kq[0]);
            var a_data = Ext.create('Ext.data.Store', {
                fields: ['id_pc', 'id_ns', 'hoten', 'ngay_sinh', 'noi_sinh', 'lop', 'mon_hoc', 'so_tiet', 'hso'],
                data: b_chuoi
            });
            Ext.getCmp('ds_gv').bindStore(a_data);


            //tungns - set value grid
            var b_chuoi2 = CH_JSON(a_kq[1]);
            var a_data2 = Ext.create('Ext.data.Store', {
                fields: ['Id_mon', 'TenMon', 'so_tiet', 'hso'],
                data: b_chuoi2
            });
            var c = Ext.getCmp('mon_dky');
            c.bindStore(a_data2);
        }
        function phancong_P_XOA_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            var select = Ext.getCmp('ds_gv').getSelectionModel().getSelection();
            if (select[0])
                Ext.getCmp('ds_gv').getStore().remove(select);
        }

        function khoa_P_KQ(b_kq) {
            if (Fb_LOI_KTRA(b_kq)) {
                form_P_LOI(b_kq);
                return;
            }
            else {
                var b_chuoi2 = CH_JSON(b_kq);
                var a_data2 = Ext.create('Ext.data.Store', {
                    fields: ['ID', 'Ten'],
                    data: b_chuoi2
                });

                var ds = Ext.getCmp('khoa_dt');
                ds.clearValue();
                ds.setValue("");
                ds.bindStore(a_data2);
            }

        }
    </script>
</asp:Content>

